#include<stdio.h>
#include<malloc.h>
#include<string.h>

typedef struct BNode{
	char data;/*数据域*/
	struct BNode *left;/*左子树指针*/
	struct BNode *right;/*右子树指针*/
}BNode;/*结点的结构体定义*/
// root_p 指向已经被正确初始化的 BiTreeNode
// pre_order_seq 是前序遍历时得到的字符串序列，其中每个空左子节点或者空右子节点均用 # 表示
//第二部分
char str[101]; //存放输入的先序遍历字符串
int i;
BNode *Insert(){
	if(str[i] == '#'){  //空结点，注意单个字符用' '而不能用" "
		i++;
		return NULL;
	}  // 判断是否要建立左子树

//第三部分
else{
		//新建一个结点
		BNode *root = (BNode *)malloc(sizeof(BNode));
		root->data = str[i];
		root->left = NULL;
		root->right = NULL;
		i++;
		root->left = Insert();
		root->right = Insert();
		return root;
	}
}  // 判断是否要建立右子树